// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:54:28

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   tm.java

package com.zelix;


// Referenced classes of package com.zelix:
//            kn, wn, kd

public class tm
    implements kn
{

    private kd a;
    private String b;

    public tm(kd kd, String s)
    {
        a = kd;
        b = s;
    }

    public boolean equals(Object obj)
    {
label0:
        {
            boolean flag;
            tm tm1;
label1:
            {
                boolean flag1 = wn.C;
                if(!(obj instanceof tm))
                    break label0;
                tm1 = (tm)obj;
                if(a != null)
                {
                    if(tm1.a != null)
                    {
                        flag = a.equals(tm1.a);
                        if(!flag1)
                            break label1;
                    }
                    flag = false;
                    if(!flag1)
                        break label1;
                }
                flag = tm1.a == null;
            }
            if(flag)
            {
                if(b != null)
                {
                    if(tm1.b != null)
                        return b.equals(tm1.b);
                    else
                        return false;
                } else
                {
                    return tm1.b == null;
                }
            } else
            {
                return false;
            }
        }
        return false;
    }

    public String a()
    {
        return b + "?";
    }

    public String b()
    {
        return b;
    }

    public int c()
    {
        return -1;
    }

    public String d()
    {
        return b();
    }

    public int hashCode()
    {
        int i = 0;
        if(a != null)
            i = a.hashCode();
        if(b != null)
            i ^= b.hashCode();
        return i;
    }

    public boolean e()
    {
        return false;
    }

    public boolean f()
    {
        return true;
    }
}